In computer networks, a number of network stations are typically interconnected via a communications medium. For example, Ethernet 802.3 is a commonly used local area network (LAN) scheme in which multiple stations are connected to a shared or dedicated serial data path. These stations often communicate with a switch or some other network device located between the data path and the stations connected to that path. The switch typically controls the communication of data and includes logic for receiving and forwarding data frames to their appropriate destinations.
Trunking, also referred to as link aggregation, is a technique that treats two or more point-to-point connections between the same two network devices as a single network link. Trunking is used to obtain a higher bandwidth path between two network devices, such as two switches or a server and a switch. Trunking also increases reliability by maintaining redundant connections between the network devices.
The IEEE 802.3ad standard regarding trunking requires that each link in a single trunk transmit data frames at the same speed. One drawback with such an approach is that the network device may include a number of links that transmit data frames at different rates. This limits the flexibility associated with establishing trunks.
In addition, conventional network switches use trunking distribution schemes to distribute traffic over the links. Since all the links in the trunk transmit data at the same speed, there is no advantage associated with transmitting data frames over any one of the links in the trunk. Therefore, conventional switches randomly distribute traffic over the individual links in a trunk.